package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class RequestParamTestController {

    // @RequestParam可以用来接收URL查询参数、普通表单参数（application/x-www-form-urlencoded）、multipart表单参数（multipart/form-data）
    // 值得注意的是，Spring MVC中使用multipart表单的话，需要先往容器中添加MultipartResolver这个bean，
    // 例如，如果使用Servlet 3.0以上的容器，可以往Spring的Servlet上下文中添加StandardServletMultipartResolver这个bean，
    // 然后还需要在DispatcherServlet中配置MultipartConfig，如果使用AbstractAnnotationConfigDispatcherServletInitializer创建的DispatcherServlet，
    // 那么可以通过重写它的customizeRegistration(ServletRegistration.Dynamic registration)方法，
    // 然后通过registration.setMultipartConfig(new MultipartConfigElement("/tmp"))这种方式来配置MultipartConfig。
    @RequestMapping("/req-param-test")
    public String requestParam(@RequestParam String query,
                               @RequestParam String form,
                               @RequestParam String multipart) {

        System.out.println("query: " + query);
        System.out.println("form: " + form);
        System.out.println("multipart: " + multipart);
        return "index";
    }
}
